Technical Field
The present disclosure relates to storage systems and, more specifically, to maintaining consistent throughput of input/output (I/O) processing by a storage system when changing configuration of one or more Redundant Array of Independent Disks (RAID) groups of storage devices within the storage system.
Background Information
A storage system typically includes one or more storage devices, such as solid state drives, of a storage array at which data may be accessed (i.e., stored and/or retrieved) in accordance with input/output (I/O) requests issued by a host to the storage array. The storage system may organize the storage devices into one or more Redundant Array of Independent Disks (RAID) groups that enhance the reliability and integrity of the data stored on the array by writing data “stripes” having redundant information, i.e., appropriate parity information calculated with respect to the striped data, across a number of storage devices of each RAID group. Each RAID group may be configured according to a set of storage devices having a RAID implementation, e.g., RAID 1, 4, 5 and/or 6, to provide protection over the storage devices in the event of, e.g., failure to one or more of the storage devices.
In response to a RAID configuration change, a prior approach typically halts processing of the I/O requests by the storage array in order to make the necessary configuration change. For example, if the configuration change involves a failed disk, the prior approach may halt I/O processing, even if only temporarily, by the storage system while the configuration is changed, e.g., until the failed disk is logically removed from the configuration, even if the storage array is otherwise able to operate with the changed (e.g., degraded) configuration. That is, the period of time during which the configuration is changed (e.g., logical removal of a disk) synchronizes with I/O processing such that the I/O processing is halted for the duration of that configuration change. However, halting of the I/O processing may adversely impact latency or throughput of the storage system which, in turn, manifests as inconsistent storage system performance to the host.